home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
NEW
/
V-TPUG Programming Contest
/
(n)v1.d64
/
lander
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-01-19
|
3KB
|
85 lines
100 PRINT"[147]"
110 PRINT " * * * LANDER * * * "
120 PRINT" THIS IS A SIMULATION":PRINT"OF LANDING A SPACESHIP";
130 PRINT"ON 1 OF 4 DESTINATIONS":PRINT"IN THE LAST COLUMN YOU";
140 PRINT" ENTER YOUR FUEL BURN":PRINT"FOR THE NEXT INCREMENT";
150 PRINT" OF THE DESCENT. FUEL":PRINT" USE IS ACTUALLY TEN"
160 PRINT"TIMES THE VALUE OF FB":PRINT"THAT YOU ENTER.":PRINT
170 PRINT"THE COMPUTER WILL FIND";:PRINT"YOUR NEW SITUATION AND";
180 PRINT"PRINT IT OUT.":PRINT:
190 PRINT:PRINT:PRINT"PRESS ANY KEY TO BEGIN";
200 GET NE$:IF NE$="" THEN 200
210 PRINT "[147] * * * LANDER * * * ":PRINT"ENTER";
220 PRINT" '1' FOR EARTH"
230 PRINT"";TAB(6);"'2' FOR MOON"
240 PRINT "";TAB(6);"'3' FOR MARS"
250 PRINT "";TAB(6);"'4' FOR VESTA"
260 GET X$
270 IF X$="1" THEN G1=980.7:A5=6371:A$="EARTH":GOTO 330
280 IF X$="2" THEN G1=162:A5=1738:A$="MOON":GOTO 330
290 IF X$="3" THEN G1=374:A5=3380:A$="MARS":GOTO 330
300 IF X$="4" THEN G1=17.5:A5=195:A$="VESTA":GOTO 330
310 GOTO 260
320 PRINT"[147]"
330 G2=G1/36
340 G3=SQR(G2)*100:G3=INT(G3):IF G3<175 THEN G3=175
350 G4=G3*55:G4=INT(G4):IF G4<10000 THEN G4=10000
360 G5=G4*(LOG(G1)/20)+10000
370 A1=-6400:A2=5000:A3=15000:A4=10
380 B4=A4:B2=A2:N3=G3:N4=G4
390 RC=3:SE=66:SU=(4*(PEEK(36866)AND128)+64*(PEEK(36869)AND112))/256
400 PRINT "[147]";
410 PRINT" DIS- VELO- FUEL ":PRINT "TANCE CITY LEFT FB":PRINT" "
420 POKE 209,SE:POKE 210,SU:POKE 214,RC:XB$=STR$(N3)
430 XC$=LEFT$(XB$,5)
440 XD=VAL(XC$)
450 PRINT XD;
460 PRINT TAB(6);
470 PRINT "[157]";VAL(LEFT$(STR$(B2),6));TAB(19-LEN(STR$(N4)));"[157]";
480 PRINT INT(N4);
490 OPEN 1,0:INPUT#1,F:CLOSE1:PRINT CHR$(13);"[145]":RC=PEEK(214):SE=PEEK(209):SU=PEEK(210)
500 IF F=0 GOTO 530
510 IF F<0 OR F>99.1 GOTO 650
520 T=N4/F:IF T<10 THEN B4=T
530 N4=N4-F*B4
540 V1=B3
550 T1=T1+B4
560 B5=(G2+((G2*N3)/(A5*-2)))-((F*G5)/(A3+N4))
570 B3=B2+B5*B4
580 N5=N3
590 N3=N3+(((B3+B2)/A1)*B4)
600 B2=B3
610 IF N3<0 GOTO 720
620 IF N4<=0 GOTO 680
630 Q=Q+64:IF Q+128>960 THEN Q=832
640 GOTO 410
650 PRINT "[147]ILLEGAL FUEL BURN"
660 PRINT ,,,,"TRY AGAIN (0 TO 99)"
670 FOR K= 1 TO 900:NEXT K:GOTO 400
680 V2=SQR(B2^2+N3*G2*5650):PRINT"OUT OF FUEL AT";INT(T1);"SECONDS"
690 V3=ABS(V2)*10000/3600
700 T1=T1+LOG((V3*N3*10000)/G1)
710 GOTO 740
720 V2=SQR(ABS(N5/(26*B5)))*(26*B5)+V1:GOTO 740
730 T1=T1-(10-B4)
740 GOTO 750
750 IF V2<20 THEN PRINT "[147] YOU HAVE LANDED":GOTO 800
760 IF V2<100 THEN PRINT "[147] YOU HAVE CRASHED":GOTO 830
770 IF V2<250 THEN PRINT "[147]YOU'VE BEEN PULVERIZED";:GOTO 860
780 IF V2<5000 THEN PRINT "[147]";TAB(7);"YOU HAVE":PRINT " MADE A NEW CRATER":GOTO 860
790 IF V2>=5000 THEN PRINT "[147]YOU HAVE BORED A HOLE":PRINT" INTO THE PLANET":GOTO 860
800 IF V2<1 THEN PRINT " NICE TOUCH-VERY GOOD":GOTO 860
810 IF V2<5 THEN PRINT TAB(5);"NOT TOO BAD":GOTO 860
820 PRINT " KIND OF ROUGH":GOTO 860
830 IF V2<30 THEN PRINT " YOU CAN'T TAKE OFF":GOTO 860
840 IF V2<45 THEN PRINT " YOU ARE INJURED":PRINT"THE LANDER IS ON FIRE":GOTO 860
850 PRINT "THERE ARE NO SURVIVORS"
860 PRINT "";TAB(2);"VELOCITY AT IMPACT"
870 PRINT "";TAB(5);INT(10*ABS(V2))/10;"KM/HR"
880 PRINT,,,,,,,,TAB(5);"ELAPSED TIME"
890 PRINT "";TAB(6);T1;"SECONDS"
900 PRINT "";TAB(4);"FUEL REMAINING"
910 PRINT "";TAB(7);N4;"KG"
920 GET NE$:IF NE$="" THEN 920
930 GOTO 210